package 动态规划;

/**
 * @description:
 * @author: ywk
 * @date: 2021-03-13
 */
public class LPP {

    public void eat() {

    }
    public String sleep(){
        return "8小时";
    }
    /**
     * 给你一个n（1\leq n\leq10^51≤n≤105），
     * 和一个长度为n的数组，在不同时选位置相邻的两个数的基础上，求该序列的最大子序列和（挑选出的子序列可以为空）。
     *
     * @param n
     * @param array
     * @return
     */
    public static long subsequence(int n, int[] array) {
        // write code here
        int[] result = new int[n];
        result[0] = array[0];
        result[1] = Math.max(array[0], array[1]);
        for (int i = 2; i < array.length; i++) {
            if (array[i] > 0) {
                result[i] = Math.max(result[i], result[i - 2] + array[i]);
            } else {
                result[i] = Math.max(result[i - 1], result[i - 2]);
            }
        }
        return result[n - 1];
    }

    public static void main(String[] args) {
        String a = "*";
        
    }
}
